#ifndef _DATA_GEN_H_
#define _DATA_GEN_H_

/**
 * @file DataGen.h
 * @Synopsis 生成测试数据
 * @author Mingyu Wu
 * @version 1.0.0
 * @date 2024-06-25
 */

#include "XlsxReader.h"

#include <map>
#include <unordered_map>

class DataGen {
  public:
    DataGen();

    virtual ~DataGen();

    void Init();

    void Update();

    void LoadDataGroupMap();

    // 生成随机数
    static int GenRandomNum();

    static std::unordered_map<std::string, std::string> dataMap;

  private:
    std::vector<Data> statusDataArray;
    std::vector<Data> alarmDataArray;
    std::vector<Data> faultDataArray;
    std::vector<Data> ctrlDataArray;
    std::vector<Data> measDataArray;
    std::vector<Data> writeDataArray;

    // devName -> Data
    // 将4个Array合并到一个Map中
    static std::vector<Data> dataArray;
};
#endif // !_DATA_GEN_H_
